package com.fowo.api.model.nav.sell.order.platform;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 订单管理平台信息 导入导出辅助模型 */
@Getter
@Setter
public class NavSellOrderPlatformExcelPo {

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "所属订单管理")
  private String parentNavSellOrderOrderId;

  @ExcelIgnore
  @ExcelProperty(value = "所属订单管理")
  private Long parentNavSellOrder;

  @Size(max = 50, message = "平台主键长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台主键")
  private String platformId;

  @Size(max = 50, message = "平台订单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台订单号")
  private String platformOrderId;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "取消时间")
  private java.util.Date cancelTime;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "发货时间")
  private java.util.Date deliveryTime;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "发货时限")
  private java.util.Date latestShipTime;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "订单来源")
  private String source;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "支付方式")
  private String paymentWay;

  @Size(max = 50, message = "平台单支付状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台单支付状态")
  private String paymentStatus;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "支付时间")
  private java.util.Date paymentTime;

  @Size(max = 50, message = "平台长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台")
  private String platform;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "订购时间")
  private java.util.Date purchaseTime;

  @Size(max = 50, message = "平台单发货状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台单发货状态")
  private String shippingStatus;

  @Size(max = 50, message = "平台单状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台单状态")
  private String status;

  @Size(max = 50, message = "订单国家长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "订单国家")
  private String countryCountry;

  @ExcelIgnore
  @ExcelProperty(value = "订单国家")
  private Long country;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "承运商")
  private String carrierName;

  @ExcelIgnore
  @ExcelProperty(value = "承运商")
  private Long carrier;

  @Size(max = 50, message = "标发设置编号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "标发设置编号")
  private String issuCode;

  @Size(max = 50, message = "配送服务长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "配送服务")
  private String deliveryService;

  @Size(max = 50, message = "查询地址长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "查询地址")
  private String searchAddress;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "剩余发货")
  private String computedLatestShipTime;
}
